Embodiments of the present inventive subject matter relate generally to data processing, and more particularly to systems and methods for managing business rules.
Business rules make decisions depending on given cases. A case usually consists of a combination of features and a decision may be a combination of elementary choices. A business rule makes a decision by applying an action to a given case. A business rule cannot handle. all cases, but only those that satisfy a condition. A business rule thus consists of a condition, which usually is a combination of tests, and an action. which may consist of a sequence of elementary steps. As a business rule treats only certain cases, it defines only a part of the whole decision making process. Further business rules are needed to make a decision for the remaining cases. If the given business rules are making a decision for each relevant case, then such a collection of rules is complete. Otherwise, there are missing cases, i.e. cases that do not satisfy the condition of any rule. As a consequence, the given rules will make no decision for the missing cases. Due to the combinatorial nature of the conditions, unforeseen missing cases easily arise even for small numbers of business rules.
Existing systems for missing-case detection do not provide a general method which detects missing cases for arbitrary business rule projects whether these rules are uniform or diverse and have simple or complex conditions. More general rule projects require non-trivial descriptions of missing rules and non-trivial methods for finding them.
One technique involves the use of simple tree-like enumeration of tuples in a discrete space. The described technique is insufficient to find missing rules that result from unforeseen interactions' between complex tests that may overlap or concern multiple attributes of an unknown number of objects.
An alternative technique may be given by trial-and-error methods. Whereas those methods may by chance find some specific missing cases, they are insufficient to explore the missing cases in a systematic way and to give guarantees about the results.
Some existing systems consider a single conjunction of conditions at a time. When searching missing cases for business rules, such approaches correspond to analyzing a single rule at a time and to searching the cases that are not handled by this rule. It may be possible that some proposals are partly or entirely handled by other business rules. Moreover, a business rule has a scope, i.e. it matches objects of certain types. It may have multiple instantiations with respect to the given configuration of objects. If a rule is non-applicable, then each of its instantiations must be non-applicable, which requires a sophisticated logical description of the missing-case detection problem in terms of universally quantified formulas. Those issues do not arise for the problem of finding alternatives to a single scenario. As a consequence, the difficulty described by such existing systems is significantly simpler than that of finding missing cases of business rules.
Some existing systems raise the issue of completeness. Enactment rules may guide users in discovering goals and in authoring scenarios. There are particular rules for analyzing the completeness and the consistency of scenarios. Those enactment rules may describe initiating a completeness analysis. but no more. Active participation of users in such systems is required. Such existing systems do not discuss the completeness analysis of rule sets. The described systems do not guarantee that the proposed missing case descriptions correspond to any case.
Existing methods are insufficient to detect the missing cases of arbitrary business rules which result from unforeseen interactions of overlapping tests over an a priori unknown number of attributes.